package q461_hammingDistance;

public class Solution_1 {
    /*
    结合q191和201来分析此题
    如何分析两个数之间有多少位不同？
    最简单的方法是 由于Java是int32位的
    所以我们遍历32位 看每一位&1的值是什么样的 比较两者就知道是否不同
    然后不停右移两个数即可
     */
    public int hammingDistance(int x, int y) {
        int count = 0;
        for (int i = 0; i < 32; i++) {
            count += (x & 1) == (y & 1) ? 0 : 1;
            x >>= 1;
            y >>= 1;
        }
        return count;
    }
}
